home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / m68k / 68343ffp.arc / IEFLOG.SA < prev    next >
Text File  |  1989-08-30  |  3KB  |  70 lines

  1.          TTL       IEEE FORMAT EQUIVALENT LOG (IEFLOG)
  2. ***************************************
  3. * (C) COPYRIGHT 1981 BY MOTOROLA INC. *
  4. ***************************************
  5.  
  6. *************************************************
  7. *                  IEFLOG                       *
  8. *       FAST FLOATING POINT LOGORITHM           *
  9. *                                               *
  10. *  INPUT:   D7 - IEEE FORMAT INPUT ARGUMENT     *
  11. *                                               *
  12. *  OUTPUT:  D7 - IEEE FORMAT LOGORITHMIC RESULT *
  13. *                                               *
  14. *     ALL OTHER REGISTERS TOTALLY TRANSPARENT   *
  15. *                                               *
  16. *  CONDITION CODES:                             *
  17. *        Z - SET IF RESULT IS ZERO              *
  18. *        N - SET IF RESULT IS NEGATIVE          *
  19. *        V - SET IF RESULT IS NAN (NOT-A-NUMBER)*
  20. *            (NEGATIVE OR NAN ARGUMENT)         *
  21. *        C - UNDEFINED                          *
  22. *        X - UNDEFINED                          *
  23. *                                               *
  24. *         ALL OTHER REGISTERS TRANSPARENT       *
  25. *                                               *
  26. *         MAXIMUM STACK USED:   54 BYTES        *
  27. *                                               *
  28. *  NOTES:                                       *
  29. *    1) SEE THE MC68344 USER'S GUIDE FOR DETAILS*
  30. *       CONCERNING IEEE FORMAT NORMALIZED RANGE *
  31. *       SUPPORT LIMITATIONS.                    *
  32. *    2) SPOT CHECKS SHOW RELATIVE ERRORS BOUNDED*
  33. *       BY 5 X 10**-8.                          *
  34. *    2) NEGATIVE ARGUMENTS ARE ILLEGAL AND CAUSE*
  35. *       A NAN (NOT-A-NUMBER) TO BE RETURNED.    *
  36. *    3) A ZERO ARGUMENT RETURNS MINUS INFINITY. *
  37. *                                               *
  38. *************************************************
  39.          PAGE
  40. IEFLOG   IDNT  1,1 IEEE FORMAT EQUIVALENT LOGORITHM
  41.  
  42.          OPT       PCS
  43.          SECTION   9
  44.  
  45.          XDEF      IEFLOG                        ENTRY POINT
  46.  
  47.          XREF      9:FFPLOG            FFP LOGORITHM ROUTINE
  48.          XREF      9:IEFSOP            FRONT-END OPERAND CONVERSION ROUTINE
  49.          XREF      9:IEFTIEEE          BACK-END CONVERT TO IEEE AND RETURN
  50.          XREF      9:IEFRTNAN          BACK-END RETURN NAN ROUTINE
  51.          XREF      9:IEFRTOD7          RETURN ORIGINAL D7 FROM THE CALLER
  52.          XREF      FFPCPYRT            COPYRIGHT STUB
  53.  
  54. **************
  55. * LOG ENTRY  *
  56. **************
  57. IEFLOG   BSR       IEFSOP    CONVERT THE OPERAND
  58.          BRA.S     IEFNRM    +0  BRANCH NORMALIZED VALUE
  59. * INPUT ARGUMENT IS INFINITY               +8
  60.          BMI       IEFRTNAN  RETURN A NAN FOR A NEGATIVE ARGUMENT
  61.          BRA       IEFRTOD7  RETURN PLUS INFINITY AS THE RESULT
  62.  
  63. * ARGUMENT IS NORMALIZED
  64. IEFNRM   BMI       IEFRTNAN  RETURN A NAN IF ARGUMENT IS NEGATIVE
  65.          BSR       FFPLOG    CALL FAST FLOATING POINT LOG ROUTINE
  66.          BRA       IEFTIEEE  AND RETURN RESULT IN IEEE FORMAT
  67.  
  68.          END
  69.  
  70.